#ifndef ANALYSISWINDOW_H
#define ANALYSISWINDOW_H

#include <QDialog>
#include <QPointF>
#include <QVector>
#include "bidwindow.h"
#include <QLabel>
namespace Ui {
class AnalysisWindow;
}

class AnalysisWindow : public QDialog
{
    Q_OBJECT

public:
    explicit AnalysisWindow(QWidget *parent = nullptr);
    ~AnalysisWindow();

    void setScores(double s1, double s2) {
        m_s1
            = s1;
        m_s2
            = s2;
    }

    // 设置交点坐标
    void setIntersectionPoint(const QPointF &point);
    // 设置竞价数据用于计算
    void setBidData(const QVector<PriceQuantity> &supplierData,
                    const QVector<PriceQuantity> &consumerData);

private slots:
    void on_billButton_clicked();

private:
    Ui::AnalysisWindow *ui;
    QPointF intersectionPoint;
    QVector<PriceQuantity> supplierData;
    QVector<PriceQuantity> consumerData;
    // analysiswindow.h 中添加声明

    void updateIntegralDisplay(); // 新增声明
    // 在Ui::AnalysisWindow类定义中添加


    double m_s1, m_s2;
        // 其他已有成员...
        QLabel *pointLabel;     // 添加这一行
        QLabel *integralLabel;  // 添加这一行
        // ...

    // 计算积分 helper 函数
    double calculateIntegral(const QVector<PriceQuantity> &data, double maxQuantity, bool isSupplier);
};

#endif // ANALYSISWINDOW_H
